################################################################################
# 
WEBAPPLIB_VERSION = 1.1
WEBAPPLIB_SONAME = 1

CXX = g++

CXXFLAGS = -Wall -O2 -fPIC #-s

################################################################################
INCPATH = $(HOME)/workspace/3rd/webapplib/include
LIBPATH = $(HOME)/workspace/3rd/webapplib/lib

################################################################################
MYSQL = yes
MYSQLINC = -I/usr/include/mysql -I/usr/include/curl
MYSQLLIB = -L/usr/lib/mysql -lmysqlclient -lm -lz -lcurl

################################################################################
LIBS = String Encode Cgi FileSystem DateTime Template HttpClient TextFile ConfigFile Utility Socket

ifdef MYSQL
LIBS += MysqlClient
else
CXXFLAGS += -D_WEBAPPLIB_NOMYSQL
MYSQLINC :=
MYSQLLIB :=
endif

OBJS = $(foreach n,$(LIBS),wa$(n).o)
WEBAPPINC = webapplib.h $(OBJS:%.o=%.h)
WEBAPPLIB = libwebapp.a.$(WEBAPPLIB_VERSION)

################################################################################

all: $(WEBAPPLIB) testWaHttpClient

$(OBJS): %.o: %.cpp %.h
	@echo ""
	@echo "Compile $(@:%.o=%.cpp) ..."
	$(CXX) $(CXXFLAGS) -c $(@:%.o=%.cpp) $(MYSQLINC)

$(WEBAPPLIB): $(OBJS)
	@echo ""
	@echo "Build $(WEBAPPLIB) ..."
	$(AR) rc $@ $(OBJS)

testWaHttpClient: testWaHttpClient.o waHttpClient.o
	$(CXX) $(CFLAGS) -o $@ testWaHttpClient.o waHttpClient.o -L$(HOME)/workspace/lib -lcurl

################################################################################
install:
	@echo ""
	@echo "Install webapplib ..."
	@echo ""
	mkdir -p $(INCPATH)
	chmod 777 $(INCPATH)
	cp -f $(WEBAPPINC) $(INCPATH)
	cp -f $(WEBAPPLIB) $(LIBPATH)
	cp -f $(WEBAPPLIB) $(HOME)/workspace/lib/libwebapp.a

clean:
	@echo ""
	@echo "Clean webapplib ..."
	@echo ""
	rm -f $(OBJS) $(WEBAPPLIB)

